Micron Document
██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

🔍 Search

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Interfaccia grafica
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Lmwcg'mwcwinterfaccia grafica, nota anche come mwdaGUI (dall'mwdqinglese mwdggraphical user interface), in mwdwinformatica è un tipo di mweainterfaccia utente che consente l'mweqinterazione uomo-macchina in modo visuale utilizzando rappresentazioni grafiche (es. mwegwidget) piuttosto che utilizzando i mwewcomandi tipici di un'mwfainterfaccia a riga di comando (vedi mwfqshell e mwfgfront end). Apparve negli anni ottanta: tra i primi esempi il mwfwMacintosh 128K di mwgaApple, presentato nel gennaio 1984, anche se limitato dal mwgqmonitor in bianco e nero; nel gennaio del mwgg1985 mwgwAtari Corporation presentò l'mwhaAtari ST, sempre con interfaccia grafica monocromatica.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Descrizione

Con l'espressione «interfaccia grafica» si indica l'interfaccia di un mwkqqualunque programma: dal mwkgsistema operativo al mwkwsoftware applicativo. Nel primo caso si intendono gli mwlaambienti desktop, mentre nel secondo si indica lo strato software che realizza e gestisce le tipiche mwlqfinestre, che proprio nell'ambiente desktop sono ospitate e contrapposta alla logica di elaborazione.

L'interfaccia grafica consente all'utente di interagire con il mwlwcomputer manipolando graficamente degli oggetti in maniera molto mwmauser-friendly, al contrario di quanto avviene sulla cosiddetta mwmqriga di comando di una mwmginterfaccia a riga di comando, in cui l'esecuzione del programma viene guidata da mwmwistruzioni o comandi impartiti dall'utente tramite mwnatastiera.

Se con l'interfaccia grafica è possibile fornire al software una grafica accattivante e una rinnovata semplicità d'uso, anche l'interfaccia a riga di comando ha i suoi vantaggi. Infatti, si tende ad utilizzare maggiormente quest'ultima dove la semplicità d'uso deve lasciare il passo ad esigenze di maggiore controllo sull'esecuzione del programma,

• sia quanto alle istruzioni inserite: si pensi ad es. all'uso che se ne è fatto nel tempo, e si fa tuttora, in ambito mwoaUnix;
• sia quanto alle informazioni restituite dal programma: ad es. strumenti di sviluppo e di analisi del codice; uso durante il mwogdebugging di un'applicazione; manipolazione di dati tramite la mwowredirezione e il mwpapiping.

Nulla vieta di realizzare un software dotato d'interfaccia grafica, che sia in realtà un mwpgwrapper per uno o più programmi dotati della sola interfaccia a riga di comando; un esempio è il noto programma mwpwGParted. In realtà, questo è avvenuto al livello del sistema operativo, nei primi tempi in cui si sono diffuse le interfacce grafiche di sistema (sia per mwqaWindows, sia per mwqqLinux), e avviene tutt'oggi su Linux, nel quale la shell grafica è uno strato posto "al di sopra" della shell testuale, non lo sostituisce, ed è nettamente separato da essa.

Implementazione

I vari mwsgframework grafici possono fornire diversi tipi di astrazioni ai programmatori che vogliono costruire interfacce grafiche. Tra queste una molto diffusa e molto intuitiva è quella del mwswmodello ad eventi con delegati.

Nei sistemi operativi

Nei mwtwsistemi operativi moderni l'interfaccia grafica è concepita tramite la mwuametafora di un piano di lavoro rappresentato dallo schermo (detto mwuqscrivania o mwugdesktop), con le mwuwicone a rappresentare i mwvafile (se sono a forma di cartellina rappresentano le mwvqdirectory) e le mwvgfinestre a rappresentare le mwvwapplicazioni.

Tale ambiente di lavoro, in cui si opera attraverso il mwwqpuntatore comandato con il mwwgmouse, fu concettualizzato nei mwwwlaboratori Xerox (mwxaprogetto Alto) e commercializzato per la prima volta nel 1981 dalla Xerox stessa con il costoso mwxqXerox Star. In seguito, tale paradigma venne ripreso da mwxgApple nel mwxw1983, con lo sfortunato mwyaApple Lisa, e nel mwyq1984, con il più fortunato mwygMacintosh. La prima versione d'interfaccia grafica (GUI) mwywWIMP a colori venne introdotta nel mwza1985 da mwzqAtari con l'mwzgAtari 520ST, seguita a distanza di due mesi da mwzwCommodore International con l'mwaaAmiga 1000.

Le interfacce grafiche WIMP si diffusero progressivamente introdotte negli altri sistemi operativi, prima sotto forma di mwbwambiente operativo (cioè come software integrativo del sistema operativo) acquistabile separatamente (nel dicembre mwca1983 Visi On della VisiCorp, nel febbraio mwcw1985 mwdaGEM della mwdqDigital Research, e nel novembre mwdg1985 mwdwMicrosoft Windows della Microsoft), poi direttamente all'interno dei sistemi operativi.

Attualmente tutti i sistemi operativi diffusi nel settore dei personal computer sono dotati di un'interfaccia grafica che opera secondo gli stessi principi di quella originariamente studiata da mweqXerox. Ciò ha causato una evoluzione significativa nell'interazione tra computer e utente: grazie all'interfaccia grafica è possibile compiere molti diversi fra loro, anche complessi, senza il bisogno di un'approfondita conoscenza del funzionamento del computer.

Modello ad eventi con delegati

Questo modello parte dal presupposto che sia l'utente a decidere il percorso che l'esecuzione del programma dovrà seguire. All'utente sono resi disponibili diversi mwfawidget, ognuno dei quali attiva l'esecuzione di determinate parti del programma su richiesta. L'interazione tra utente e oggetti grafici avviene tramite i noti dispositivi di input come la tastiera, il mouse, i pulsanti del mouse, la rotellina del mouse, il mwfqtouchpad.

Il caso più semplice è quello di un mwgwpulsante come quello rappresentato in figura. Al pulsante sono associati zero o più mwhalisteners, cioè entità di programma ad ognuno dei quali, a sua volta, è associata una determinata sequenza di istruzioni. In mwhqfase di esecuzione, ogni volta che l'utente compie l'azione di "attivare" il pulsante, quest'ultimo riceverà una notifica dal sistema operativo ed attiverà tutti i mwhglisteners associati. Nel caso particolare del pulsante, l'azione "attivare" consiste tipicamente nel fare clic con il mouse mentre il cursore si trova sul componente, ma ad es. può essere avviata anche nel caso della pressione del tasto mwhwInvio se il componente grafico ha correntemente il mwiafocus. In gergo, si dice che il componente grafico mwiggenera un evento che viene mwiwnotificato ai listeners.

Il modo in cui i mwjqlisteners sono realizzati nello specifico varia a seconda del linguaggio e della libreria grafica in uso. Ad esempio, possono essere mwjgfunzioni individuate tramite puntatori, oppure mwkaoggetti che espongono determinati mwkqmetodi standard, e così via. Poiché il mwkglistener è realizzato all'esterno del componente grafico, è ovvio che le modalità di interazione tra componente e mwkwlistener devono essere stabilite a priori in modo mwlastandard (mwlqstandard che, anch'esso, dipende dal linguaggio e dalla libreria grafica di riferimento).

Voci correlate
Altri progetti

Altri progetti

• Wikimedia Commons

• Wikimedia Commons contiene immagini o altri file sull'interfaccia grafica

Collegamenti esterni

• citerefsapere-itGUI, su sapere.it, De Agostini.
• citerefbritannica-com(EN) Steven Levy, graphical user interface, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
• citerefopen-library(EN) Opere riguardanti Graphical user interfaces (Computer systems), su Open Library, Internet Archive.
• citereffoldoc(EN) Denis Howe, Graphical User Interface, in Free On-line Dictionary of Computing. Disponibile con licenza mwngGFDL
• mwoaCarrellata sulla storia delle interfacce grafiche di sistema, su webdesignerdepot.com.
• mwogwww.guidebookgallery.org Tutte le versioni delle GUI di sistema che si sono avvicendate nel mondo PC, più alcune particolari implementazioni, su guidebookgallery.org.
• mwpaStoria delle principali interfacce grafiche, su history.user-interface.io.